home *** CD-ROM | disk | FTP | other *** search
/ Trusted Irix /B 4.0.4 / Trusted-Irix B-4.0.1.iso / dist / eoe1.idb / usr / include / sys / strstat.h.z / strstat.h
C/C++ Source or Header  |  1992-04-03  |  2KB  |  52 lines

  1. /*    Copyright (c) 1984 AT&T    */
  2. /*      All Rights Reserved      */
  3.  
  4. /*    THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T    */
  5. /*    The copyright notice above does not evidence any       */
  6. /*    actual or intended publication of such source code.    */
  7.  
  8. /*
  9.  * $Revision: 3.6 $
  10.  */
  11.  
  12.  
  13. /*
  14.  * Streams Statistics header file.  This file
  15.  * defines the counters which are maintained for statistics gathering
  16.  * under Streams.
  17.  */
  18.  
  19. typedef struct {
  20.     int use;            /* current item usage count */
  21.     int total;            /* total item usage count */
  22.     int max;            /* maximum item usage count */
  23.     int fail;            /* count of allocation failures */
  24. } alcdat;
  25.  
  26. struct  strstat {
  27.     alcdat stream;            /* stream allocation data */
  28.     alcdat queue;            /* queue allocation data */
  29.     alcdat mblock;            /* message block allocation data */
  30.     alcdat dblock;            /* aggregate data block allocation */
  31.     alcdat dblk[NCLASS];        /* data block class allocation */
  32.     alcdat event;            /* stream events */
  33. };
  34.  
  35.  
  36. /* in the following macro, x is assumed to be of type alcdat */
  37. #define BUMPUP(X)    {(X).use++;  (X).total++;\
  38.     (X).max=((X).use>(X).max?(X).use:(X).max); }
  39. #define BUMPDOWN(X) ((X).use--)
  40.  
  41.  
  42. /* per-module statistics structure */
  43. struct module_stat {
  44.     long ms_pcnt;            /* count of calls to put proc */
  45.     long ms_scnt;            /* count of calls to service proc */
  46.     long ms_ocnt;            /* count of calls to open proc */
  47.     long ms_ccnt;            /* count of calls to close proc */
  48.     long ms_acnt;            /* count of calls to admin proc */
  49.     char *ms_xptr;            /* pointer to private statistics */
  50.     short ms_xsize;            /* length of private statistics buf */
  51. };
  52.